﻿<?xml version="1.0" encoding="utf-8" ?>

<platform namespace="http://metalx.org/Nintendo/GameBoy/Operators" xmlns="http://metalx.org/Platform">
	<processor>
		<operation name="NoOperation" value="00"/>
		<operation name="CopyImmediateToBC" value="01"/>
		<operation name="CopyAToBCAddress" value="02"/>
		<operation name="IncrementBC" value="03"/>
		<operation name="IncrementB" value="04"/>
		<operation name="DecrementB" value="05"/>
		<operation name="CopyImmediateToB" value="06"/>
		<operation name="RotateALeftToCarryFlag" value="07"/>
		<operation name="CopySPToImmediateAddress" value="08"/>
		<operation name="AddBCToHL" value="09"/>
		<operation name="CopyBCAddressToA" value="0A"/>
		<operation name="DecrementBC" value="0B"/>
		<operation name="IncrementC" value="0C"/>
		<operation name="DecrementC" value="0D"/>
		<operation name="CopyImmediateToC" value="0E"/>
		<operation name="RotateARightToCarryFlag" value="0F"/>
		<operation name="WaitForButtonPress" value="10"/>
		<operation name="CopyImmediateToDE" value="11"/>
		<operation name="CopyAToDEAddress" value="12"/>
		<operation name="IncrementDE" value="13"/>
		<operation name="IncrementD" value="14"/>
		<operation name="DecrementD" value="15"/>
		<operation name="CopyImmediateToD" value="16"/>
		<operation name="RotateAAndCarryFlagLeft" value="17"/>
		<operation name="JumpToRelativeAddress" value="18"/>
		<operation name="AddDEToHL" value="19"/>
		<operation name="CopyDEAddressToA" value="1A"/>
		<operation name="DecrementDE" value="1B"/>
		<operation name="IncrementE" value="1C"/>
		<operation name="DecrementE" value="1D"/>
		<operation name="CopyImmediateToE" value="1E"/>
		<operation name="RotateAAndCarryFlagRight" value="1F"/>
		<operation name="BranchToRelativeAddressIfNotZero" value="20"/>
		<operation name="CopyImmediateToHL" value="21"/>
		<operation name="CopyAToHLAddressAndIncrementHL" value="22"/>
		<operation name="IncrementHL" value="23"/>
		<operation name="IncrementH" value="24"/>
		<operation name="DecrementH" value="25"/>
		<operation name="CopyImmediateToH" value="26"/>
		<operation name="ConvertAToDecimal" value="27"/>
		<operation name="BranchToRelativeAddressIfZero" value="28"/>
		<operation name="AddHLToHL" value="29"/>
		<operation name="CopyHLAddressToAAndIncrementHL" value="2A"/>
		<operation name="DecrementHL" value="2B"/>
		<operation name="IncrementL" value="2C"/>
		<operation name="DecrementL" value="2D"/>
		<operation name="CopyImmediateToL" value="2E"/>
		<operation name="ComplementA" value="2F"/>
		<operation name="BranchToRelativeAddressIfNotCarry" value="30"/>
		<operation name="CopyImmediateToSP" value="31"/>
		<operation name="CopyAToHLAddressAndDecrementHL" value="32"/>
		<operation name="IncrementSP" value="33"/>
		<operation name="IncrementHLAddress" value="34"/>
		<operation name="DecrementHLAddress" value="35"/>
		<operation name="CopyImmediateToHLAddress" value="36"/>
		<operation name="SetCarryFlag" value="37"/>
		<operation name="BranchToRelativeAddressIfCarry" value="38"/>
		<operation name="AddSPToHL" value="39"/>
		<operation name="CopyHLAddressToAAndDecrementHL" value="3A"/>
		<operation name="DecrementSP" value="3B"/>
		<operation name="IncrementA" value="3C"/>
		<operation name="DecrementA" value="3D"/>
		<operation name="CopyImmediateToA" value="3E"/>
		<operation name="ComplementCarryFlag" value="3F"/>
		<operation name="CopyBToB" value="40"/>
		<operation name="CopyCToB" value="41"/>
		<operation name="CopyDToB" value="42"/>
		<operation name="CopyEToB" value="43"/>
		<operation name="CopyHToB" value="44"/>
		<operation name="CopyLToB" value="45"/>
		<operation name="CopyHLAddressToB" value="46"/>
		<operation name="CopyAToB" value="47"/>
		<operation name="CopyBToC" value="48"/>
		<operation name="CopyCToC" value="49"/>
		<operation name="CopyDToC" value="4A"/>
		<operation name="CopyEToC" value="4B"/>
		<operation name="CopyHToC" value="4C"/>
		<operation name="CopyLToC" value="4D"/>
		<operation name="CopyHLAddressToC" value="4E"/>
		<operation name="CopyAToC" value="4F"/>
		<operation name="CopyBToD" value="50"/>
		<operation name="CopyCToD" value="51"/>
		<operation name="CopyDToD" value="52"/>
		<operation name="CopyEToD" value="53"/>
		<operation name="CopyHToD" value="54"/>
		<operation name="CopyLToD" value="55"/>
		<operation name="CopyHLAddressToD" value="56"/>
		<operation name="CopyAToD" value="57"/>
		<operation name="CopyBToE" value="58"/>
		<operation name="CopyCToE" value="59"/>
		<operation name="CopyDToE" value="5A"/>
		<operation name="CopyEToE" value="5B"/>
		<operation name="CopyHToE" value="5C"/>
		<operation name="CopyLToE" value="5D"/>
		<operation name="CopyHLAddressToE" value="5E"/>
		<operation name="CopyAToE" value="5F"/>
		<operation name="CopyBToH" value="60"/>
		<operation name="CopyCToH" value="61"/>
		<operation name="CopyDToH" value="62"/>
		<operation name="CopyEToH" value="63"/>
		<operation name="CopyHToH" value="64"/>
		<operation name="CopyLToH" value="65"/>
		<operation name="CopyHLAddressToH" value="66"/>
		<operation name="CopyAToH" value="67"/>
		<operation name="CopyBToL" value="68"/>
		<operation name="CopyCToL" value="69"/>
		<operation name="CopyDToL" value="6A"/>
		<operation name="CopyEToL" value="6B"/>
		<operation name="CopyHToL" value="6C"/>
		<operation name="CopyLToL" value="6D"/>
		<operation name="CopyHLAddressToL" value="6E"/>
		<operation name="CopyAToL" value="6F"/>
		<operation name="CopyBToHLAddress" value="70"/>
		<operation name="CopyCToHLAddress" value="71"/>
		<operation name="CopyDToHLAddress" value="72"/>
		<operation name="CopyEToHLAddress" value="73"/>
		<operation name="CopyHToHLAddress" value="74"/>
		<operation name="CopyLToHLAddress" value="75"/>
		<operation name="WaitForInterrupt" value="76"/>
		<operation name="CopyAToHLAddress" value="77"/>
		<operation name="CopyBToA" value="78"/>
		<operation name="CopyCToA" value="79"/>
		<operation name="CopyDToA" value="7A"/>
		<operation name="CopyEToA" value="7B"/>
		<operation name="CopyHToA" value="7C"/>
		<operation name="CopyLToA" value="7D"/>
		<operation name="CopyHLAddressToA" value="7E"/>
		<operation name="CopyAToA" value="7F"/>
		<operation name="AddBToA" value="80"/>
		<operation name="AddCToA" value="81"/>
		<operation name="AddDToA" value="82"/>
		<operation name="AddEToA" value="83"/>
		<operation name="AddHToA" value="84"/>
		<operation name="AddLToA" value="85"/>
		<operation name="AddHLAddressToA" value="86"/>
		<operation name="AddAToA" value="87"/>
		<operation name="AddBPlusCarryFlagToA" value="88"/>
		<operation name="AddCPlusCarryFlagToA" value="89"/>
		<operation name="AddDPlusCarryFlagToA" value="8A"/>
		<operation name="AddEPlusCarryFlagToA" value="8B"/>
		<operation name="AddHPlusCarryFlagToA" value="8C"/>
		<operation name="AddLPlusCarryFlagToA" value="8D"/>
		<operation name="AddHLAddressPlusCarryFlagToA" value="8E"/>
		<operation name="AddAPlusCarryFlagToA" value="8F"/>
		<operation name="SubtractBFromA" value="90"/>
		<operation name="SubtractCFromA" value="91"/>
		<operation name="SubtractDFromA" value="92"/>
		<operation name="SubtractEFromA" value="93"/>
		<operation name="SubtractHFromA" value="94"/>
		<operation name="SubtractLFromA" value="95"/>
		<operation name="SubtractHLAddressFromA" value="96"/>
		<operation name="SubtractAFromA" value="97"/>
		<operation name="SubtractBPlusCarryFlagFromA" value="98"/>
		<operation name="SubtractCPlusCarryFlagFromA" value="99"/>
		<operation name="SubtractDPlusCarryFlagFromA" value="9A"/>
		<operation name="SubtractEPlusCarryFlagFromA" value="9B"/>
		<operation name="SubtractHPlusCarryFlagFromA" value="9C"/>
		<operation name="SubtractLPlusCarryFlagFromA" value="9D"/>
		<operation name="SubtractHLAddressPlusCarryFlagFromA" value="9E"/>
		<operation name="SubtractAPlusCarryFlagFromA" value="9F"/>
		<operation name="AndAWithB" value="A0"/>
		<operation name="AndAWithC" value="A1"/>
		<operation name="AndAWithD" value="A2"/>
		<operation name="AndAWithE" value="A3"/>
		<operation name="AndAWithH" value="A4"/>
		<operation name="AndAWithL" value="A5"/>
		<operation name="AndAWithHLAddress" value="A6"/>
		<operation name="AndAWithA" value="A7"/>
		<operation name="ExclusiveOrAWithB" value="A8"/>
		<operation name="ExclusiveOrAWithC" value="A9"/>
		<operation name="ExclusiveOrAWithD" value="AA"/>
		<operation name="ExclusiveOrAWithE" value="AB"/>
		<operation name="ExclusiveOrAWithH" value="AC"/>
		<operation name="ExclusiveOrAWithL" value="AD"/>
		<operation name="ExclusiveOrAWithHLAddress" value="AE"/>
		<operation name="ExclusiveOrAWithA" value="AF"/>
		<operation name="OrAWithB" value="B0"/>
		<operation name="OrAWithC" value="B1"/>
		<operation name="OrAWithD" value="B2"/>
		<operation name="OrAWithE" value="B3"/>
		<operation name="OrAWithH" value="B4"/>
		<operation name="OrAWithL" value="B5"/>
		<operation name="OrAWithHLAddress" value="B6"/>
		<operation name="OrAWithA" value="B7"/>
		<operation name="CompareAToB" value="B8"/>
		<operation name="CompareAToC" value="B9"/>
		<operation name="CompareAToD" value="BA"/>
		<operation name="CompareAToE" value="BB"/>
		<operation name="CompareAToH" value="BC"/>
		<operation name="CompareAToL" value="BD"/>
		<operation name="CompareAToHLAddress" value="BE"/>
		<operation name="CompareAToA" value="BF"/>
		<operation name="ReturnToCallerIfNotZero" value="C0"/>
		<operation name="PullBCFromStack" value="C1"/>
		<operation name="BranchToAbsoluteAddressIfNotZero" value="C2"/>
		<operation name="JumpToAbsoluteAddress" value="C3"/>
		<operation name="CallAbsoluteAddressIfNotZero" value="C4"/>
		<operation name="PushBCToStack" value="C5"/>
		<operation name="AddImmediateToA" value="C6"/>
		<operation name="CallSystemFunction0" value="C7"/>
		<operation name="ReturnToCallerIfZero" value="C8"/>
		<operation name="ReturnToCaller" value="C9"/>
		<operation name="BranchToAbsoluteAddressIfZero" value="CA"/>
		<operation name="BitwiseFunctions" value="CB"/>
		<operation name="CallAbsoluteAddressIfZero" value="CC"/>
		<operation name="CallAbsoluteAddress" value="CD"/>
		<operation name="AddImmediatePlusCarryFlagToA" value="CE"/>
		<operation name="CallSystemFunction1" value="CF"/>
		<operation name="ReturnToCallerIfNotCarry" value="D0"/>
		<operation name="PullDEFromStack" value="D1"/>
		<operation name="BranchToAbsoluteAddressIfNotCarry" value="D2"/>
		<operation name="CallAbsoluteAddressIfNotCarry" value="D4"/>
		<operation name="PushDEToStack" value="D5"/>
		<operation name="SubtractImmediateFromA" value="D6"/>
		<operation name="CallSystemFunction2" value="D7"/>
		<operation name="ReturnToCallerIfCarry" value="D8"/>
		<operation name="ReturnToCallerAndEnableInterrupts" value="D9"/>
		<operation name="BranchToAbsoluteAddressIfCarry" value="DA"/>
		<operation name="CallAbsoluteAddressIfCarry" value="DC"/>
		<operation name="CallSystemFunction3" value="DF"/>
		<operation name="CopyAToLastPagePlusImmediateAddress" value="E0"/>
		<operation name="PullHLFromStack" value="E1"/>
		<operation name="CopyAToLastPagePlusCAddress" value="E2"/>
		<operation name="PushHLToStack" value="E5"/>
		<operation name="AndAWithImmediate" value="E6"/>
		<operation name="CallSystemFunction4" value="E7"/>
		<operation name="AddImmediateToSP" value="E8"/>
		<operation name="JumpToHLAddress" value="E9"/>
		<operation name="CopyAToImmediateAddress" value="EA"/>
		<operation name="ExclusiveOrAWithImmediate" value="EE"/>
		<operation name="CallSystemFunction5" value="EF"/>
		<operation name="CopyLastPagePlusImmediateAddressToA" value="F0"/>
		<operation name="PullAFFromStack" value="F1"/>
		<operation name="CopyLastPagePlusCAddressToA" value="F2"/>
		<operation name="DisableInterrupts" value="F3"/>
		<operation name="PushAFToStack" value="F5"/>
		<operation name="OrAWithImmediate" value="F6"/>
		<operation name="CallSystemFunction6" value="F7"/>
		<operation name="CopySPPlusImmediateToHL" value="F8"/>
		<operation name="CopyHLToSP" value="F9"/>
		<operation name="CopyImmediateAddressToA" value="FA"/>
		<operation name="EnableInterrupts" value="FB"/>
		<operation name="CompareAToImmediate" value="FE"/>
		<operation name="CallSystemFunction7" value="FF"/>
	</processor>
</platform>